package com.ruoyi.operation.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.math.BigDecimal;
import java.util.Date;

import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 运营部门日志记录业务对象
 *
 * @author ruoyi
 * @date 2025-10-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TOperationdailyBo extends BaseEntity {

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * TA模板：1；FC模板：2；FA模板：3；
     */
    @NotBlank(message = "TA模板：1；FC模板：2；FA模板：3；不能为空", groups = { AddGroup.class, EditGroup.class })
    private String templatetype;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String summary;

    /**
     * 下拉框，从cmdb获取
     */
    @NotBlank(message = "下拉框，从cmdb获取不能为空", groups = { AddGroup.class, EditGroup.class })
    private String operatetime;

    /**
     * QS:清算; WJ:文件; SJ:数据
     */
    @NotBlank(message = "QS:清算; WJ:文件; SJ:数据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String content;

    /**
     * D：每日；T：每工作日；C：每工作日并香港工作日；W1：每周第一个工作日；M30：每月最后一个工作日；S90：每季最后一个工作日；Y365：每年最后一个工作日。
     */
    private String period;

    /**
     * 用于生成单独一日的任务，如果特定日期要可选，周期必须选M
     */
//    @NotNull(message = "用于生成单独一日的任务，如果特定日期要可选，周期必须选M不能为空", groups = { AddGroup.class, EditGroup.class })
//    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
//    @DateTimeFormat(pattern="yyyy-MM-dd")
    private String specificdate;

    /**
     *
     */
    @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal sort;

    /**
     * 0：不启用；1:启用；
     */
    @NotBlank(message = "0：不启用；1:启用；不能为空", groups = { AddGroup.class, EditGroup.class })
    private String flag;


    private String busisystems;


    private String queryTime;
}
